table of contents
PMIDSTR(3) | Library Functions Manual | PMIDSTR(3) |
NAME¶
pmIDStr, pmIDStr_r - convert a performance metric identifier into a string
C SYNOPSIS¶
#include <pcp/pmapi.h>
const char *pmIDStr(pmID pmid);
char *pmIDStr_r(pmID pmid, char *buf, int buflen);
cc ... -lpcp
DESCRIPTION¶
For use in error and diagnostic messages, pmIDStr returns a `human readable' version of the specified Performance Metric Identifier (PMID). The pmIDStr_r function does the same, but stores the result in a user-supplied buffer buf of length buflen, which should have room for at least 20 bytes.
Internally, a PMID is encoded as follows;
typedef struct {
int pad:2;
unsigned int domain:8;
unsigned int cluster:12;
unsigned int item:10; } __pmID_int;
pmIDStr returns a string with each of the domain, cluster and item subfields appearing as decimal numbers, separated by periods.
The string value result from pmIDStr is held in a single static buffer, so the returned value is only valid until the next call to pmIDStr.
NOTES¶
pmIDStr returns a pointer to a static buffer and hence is not thread-safe. Multi-threaded applications should use pmIDStr_r instead.
PCP ENVIRONMENT¶
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5). Values for these variables may be obtained programmatically using the pmGetConfig(3) function.
SEE ALSO¶
PMAPI(3), pmGetConfig(3), pmInDomStr(3), pmLookupDesc(3), pcp.conf(5) and pcp.env(5).
PCP | Performance Co-Pilot |